home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Ubuntu 9.10 PL / karmelkowy-koliberek-desktop-9.10-i386-PL.iso / casper / filesystem.squashfs / usr / include / asm-generic / shmbuf.h < prev    next >
C/C++ Source or Header  |  2009-10-16  |  2KB  |  60 lines

  1. #ifndef __ASM_GENERIC_SHMBUF_H
  2. #define __ASM_GENERIC_SHMBUF_H
  3.  
  4. #include <asm/bitsperlong.h>
  5.  
  6. /*
  7.  * The shmid64_ds structure for x86 architecture.
  8.  * Note extra padding because this structure is passed back and forth
  9.  * between kernel and user space.
  10.  *
  11.  * shmid64_ds was originally meant to be architecture specific, but
  12.  * everyone just ended up making identical copies without specific
  13.  * optimizations, so we may just as well all use the same one.
  14.  *
  15.  * 64 bit architectures typically define a 64 bit __kernel_time_t,
  16.  * so they do not need the first two padding words.
  17.  * On big-endian systems, the padding is in the wrong place.
  18.  *
  19.  *
  20.  * Pad space is left for:
  21.  * - 64-bit time_t to solve y2038 problem
  22.  * - 2 miscellaneous 32-bit values
  23.  */
  24.  
  25. struct shmid64_ds {
  26.     struct ipc64_perm    shm_perm;    /* operation perms */
  27.     size_t            shm_segsz;    /* size of segment (bytes) */
  28.     __kernel_time_t        shm_atime;    /* last attach time */
  29. #if __BITS_PER_LONG != 64
  30.     unsigned long        __unused1;
  31. #endif
  32.     __kernel_time_t        shm_dtime;    /* last detach time */
  33. #if __BITS_PER_LONG != 64
  34.     unsigned long        __unused2;
  35. #endif
  36.     __kernel_time_t        shm_ctime;    /* last change time */
  37. #if __BITS_PER_LONG != 64
  38.     unsigned long        __unused3;
  39. #endif
  40.     __kernel_pid_t        shm_cpid;    /* pid of creator */
  41.     __kernel_pid_t        shm_lpid;    /* pid of last operator */
  42.     unsigned long        shm_nattch;    /* no. of current attaches */
  43.     unsigned long        __unused4;
  44.     unsigned long        __unused5;
  45. };
  46.  
  47. struct shminfo64 {
  48.     unsigned long    shmmax;
  49.     unsigned long    shmmin;
  50.     unsigned long    shmmni;
  51.     unsigned long    shmseg;
  52.     unsigned long    shmall;
  53.     unsigned long    __unused1;
  54.     unsigned long    __unused2;
  55.     unsigned long    __unused3;
  56.     unsigned long    __unused4;
  57. };
  58.  
  59. #endif /* __ASM_GENERIC_SHMBUF_H */
  60.